查看原文
其他

【计算教程002期】CASTEP—用第一性原理方法预测AlAs的晶格参数

盟主 科学指南针一模拟计算联盟 2022-07-09

材料科学研究已经越来越离不开计算模拟的支持了,那些NS中有多少文章用了DFT这样的统计我就不放了,大家多少也都见过。相信计算结合实验发高分的趋势也是大家学习计算的动力。


看了上周我们的问卷调查结果,发现有一半以上的同学需要CASTEP的教程,于是这周先推送一个CASTEP研究的教程供大家讨论学习。


从我了解的情况,国内MS系的培训还是以联系官方原版教程为主要内容,也就是你现在看到的我给你们翻译的内容。给大家翻译教程是为了鼓励大家上手实践,不实践的话教程翻烂了也得不到提高。如果要将计算应用到自己的课题中,一定要清楚各个参数的意义,不然算完了还是不会分析。一位追求速度,精度太差数据发不出去的。一味追求精度,计算资源跟不上。计算的艺术——平衡速度与精度(刘锦程)。真正的大佬会是一个计算工具的熟练使用者,但绝不仅是计算软件的熟练使用者。有很多和实验相呼应的数据是通过这些基础的计算得到的信息进行进一步处理得到的,这其中需要很多的经验和知识积累,绝不是倒腾几下工具就能做好的。希望大家在阅读实践之余继续丰富自己的知识储备。计算很苦,但也很酷。


教程目的:介绍CASTEP中的几何优化和使用可视化工具显示等值面。
所用模块:Materials Visualizer, CASTEP
阅读时间:★★☆☆☆
阅读难度:★★☆☆☆

预备知识:固体物理


本教程将教会大家如何用CASTEP计算出aluminum arsenide(AlAs)的晶体结构。你将学会如何构建一个晶体结构然后设置一个CASTEP的几何优化任务并运行,然后分析计算的结果。写教程时候,我尽量去尊重MS原版教程的说法和操作,但有些地方还是进行了改变,甚至内容都改了。如果你发现我的教程中有让你费解的地方,可以翻看一下英文原版教程。


本教程包含以下内容

 Getting started(知道是什么意思,但不知道该翻译成啥比较好)
  •  构建AlAs的晶体结构
  • 设置并开始CASTEP计算
  • 分析计算结果
  • 对比计算结果和实验数据
  • 电荷密度可视化
  • 态密度和能带

    特别提醒一下,实际的计算化学研究都是很吃电脑配置的。有工作站用工作站,有普通台式机就用台式机。本文需要的计算量不大,笔记本也可以轻松实践。


1. Getting started

首先启动 Materials Studio 并创建一个新项目。
打开New Project对话框,输入AlAs_lattice作为项目名称,然后单击OK按钮。
使用项目浏览器(Project Explorer)中列出的AlAs_lattice创建新项目。下一步是创建一个文档,然后要在其中生成AlAs晶格。

在项目资源管理器中,右键单击根目录,然后选择New | 3D Atomistic创建一个3D Atomistic文档。重命名新文档为AlAs.xsd。
2. 构建AlAs的晶体结构

为了构建晶体结构,你需要先了解所要建立的晶体的空间群、晶格参数和晶体的内坐标等信息。对AlAs 来说,空间群是F-43m,或者空间群代号为216。晶格内有两个原子,Al 和As 的分数坐标分别为(0,0,0)和(0.25,0.25,0.25),晶格参数为5.6622 Å。(此处有困难的同学可以抱紧学过固体物理的大佬
从菜单栏选择 Build | Crystals | Build Crystal...打开Build Crystal对话框


点击 Enter group,然后输入216,然后按一下键盘的TAB键。


Space group information栏就会被F-43m空间群的信息所更新
选择 Lattice Parameters 选项卡,将a的值从10.00 改变5.6622。按TAB键,然后点击 Build 按钮。
此时在3D视图中会显示一个空白的晶格,现在可以向其中添加原子。
从菜单栏选择 Build | Add Atoms 打开Add Atoms对话框


此时你可以向指定位置添加原子。
在 Add Atoms对话框中,选择 Options 选项卡。确保 Coordinate system设置为Fractional


选择 Atoms 选项卡。在Element文本框中,输入Al,然后点击Add按钮。Al原子被添加到结构中。
在 Atoms 选项卡的Element 文本框中,输入As。在a、b 和c 文本框分别输入0.25。点击 Add 按钮。关闭对话框。
原子被加入到晶体结构中,对称性运算符被用于建立晶体结构中剩余的原子。原子还显示在相邻的晶胞中。您可以通过rebuilding the crystal来删除它们。
从菜单中选择 Build | Crystals | Rebuild Crystal...打开Rebuild Crystal对话框。点击ReBuild 按钮。外部原子被移除,晶体结构显示出来。


还可以将显示模式改为ball and stick。
在结构文件中右击,从快捷菜单上选择 Display Style 。在 Atom 选项卡上,选择 Ball and stick 选项。关闭Display Style对话框。


在3D视图内的晶体结构是惯用晶胞conventional unit cell,表明了晶格的立方对称性。CASTEP 使用晶格可能存在的完全对称性。可以使用原始晶格primitive lattice来计算,与包含8个原子的传统晶格不同,原始晶格中每个晶胞包含两个原子。这样,无论如何定义晶胞,电荷密度,键距和每个原子的总能量都将相同,因此,通过在晶胞中使用较少的原子,将减少计算时间。(强烈建议抱紧固体物理大佬的大腿学习晶体学相关的基本知识,什么是primitive cell(一般大家称其为素胞),什么是conventional cell。来自我自己的注解:素晶胞是最小重复单元,惯用晶胞是根据晶格矢量尽可能90°或者呈现120°来选取)


注意:在磁系统上执行自旋极化计算时,这时电荷密度自旋波的周期是原始晶胞的几倍。
在菜单栏选择 Build | Symmetry | Primitive Cell,在3D视图中会显示primitive cell。

3. 设置并开始CASTEP计算

在菜单栏选择Modules | CASTEP | Calculation显示CASTEP Calculation对话框


我们现在需要优化结构的几何形状。
将 Task 改为 Geometry Optimization ,将 Quality 改为 Fine
默认的优化设置是只对原子坐标进行优化。本例中,在对原子坐标进行优化的同时也要对晶格进行优化。点击与Task 相关联的More…按钮, Cell optimization 中选择 full关闭对话框。(个人注解:不同版本这里操作不太一样,我的截图只是截图,大家按照文字操作


当改变计算精度时,其他参数也会作相应的变化。
选择 Properties 选项卡。
在 Properties 选项卡上,可以指定需要计算哪些性质。
选中 Band structure Density of states


也可以指定job控制选项,例如实时更新。
选中了 Band structure 选项后,点击 More...就可以打开 CASTEP Band Structure Options 对话框,然后点击 Path... 打开 Brillouin Zone Path 对话框。点击 Create然后关闭对话框。(再抱一次……你懂的)


选择 Job Control 选项卡,点击 More…按钮。在 CASTEP Job Control Options对话框里,改变 Update every 为 30.0s,关闭对话框。

如果正在远程服务器上运行计算,可以从Job Control选项卡上指定服务器名。(具体怎么弄远程服务器,问超算服务商或者学校的超算管理员)
点击 Run 按钮,关闭对话框。

几秒钟后,在Project Explorer中出现一个新目录,包含所有的计算结果。Job Explorer也显示出来,包含有关job的状态的信息。Job Explorer显示与项目有关的任何当前活动job的状态,例如服务器和job代码。如果有需要,也可以使用Job Explorer中止正在进行的任务。

在 job运行时,打开四个文件传递 job状态信息。这些文件包括晶体结构、在优化过程中模型的更新、传递 job设置参数信息和运行信息的状态文件、以及一些关于总能量、能量收敛、力、应力和位移作为迭代次数函数的图表。
当 job结束时,文件会被传回到客户端,这个过程视文件的大小而需要不同时间。

4. 分析计算结果

当结果文件被传输回来时,应该有几个文件,其中包括:
AlAs.xsd-最后的优化结构;
AlAs Trajectory.xtd-轨迹文件,包括每一步优化后的结构;
AlAs.castep-包含了优化信息的输出文本文件;
AlAs.param-关于模拟的输入信息。
对每一个性能计算,对应都有一个.param和.castep文件。

在 AlAs结构中,由对称性引起的力为0,但是应力依赖于晶格参数。这样,CASTEP会尝试使系统的总能量和应力最小化。因此,为确保计算完全结束,检查应力已经收敛是非常重要的。
使 AlAs.castep 成为活动文档,然后选择 Edit | Find...打开查找对话框。在文本框中输入 completed successfully ,然后单击 Find Next 按钮。向上滚动几行。

您将看到一个包含两行的表,每行的最后一列应显示 yes 。这表明计算已成功。

5. 对比计算结果和实验数据

在最初创建晶胞时,我们就知道晶格长度应该为5.6622 Å。所以,可以把最小化后的晶格长度与初始实验长度相比较。实验晶格长度是基于conventional cell,而不是primitive,因此需要转换晶胞。

双击 AlAs.xsd 使其处于激活状态。从菜单栏选择 Build | Symmetry | Conventional Cell
显示 conventional cell。有几种查看晶格参数的方法,最简单的一种是打开Lattice Parameters 对话框。
在3D视图上右击,从快捷菜单中选择 Lattice Parameters。
晶格矢量约为5.731Å,误差约为1%。与实验结果相比,这在赝势平面波方法预期的1-2%典型误差范围内。晶格参数的高估是GGA功能的典型特征,使用LDA功能可能会导致低估。
更高级的交换相关泛函(例如PBESOL或WC)旨在产生更准确的晶体结构
在继续进行之前,需要保存项目,并关闭所有窗口。
从菜单栏选择 File | Save Project,然后选择 Window | Close All。(这步一定要注意,因为你永远不知道自己的电脑会在什么时候死机


5.1电荷密度可视化

从菜单栏选择 Modules | CASTEP | Analysis。选择 Electron density 选项。
有提示消息说没有结果文件可以获得,所以需要指定结果文件。
在Project Explorer中,双击AlAs.castep文件。
这将把结果文件和分析对话框关联起来,但是还需要指定一个3D Atomistic文件来显示等位面。
在Project Explorer中,双击优化后的AlAs.xsd文件。从菜单栏选择 Build | Symmetry | Primitive Cell
在CASTEP Analysis对话框上的Import按钮现在是被激活了。
点击 Import 按钮
Isosurface等值面叠加在结构上。


可以从Display Style对话框来改变等值面的设置。
在3D视图中右击,从快捷菜单选择 Display Style ,选择 Isosurface 选项卡。
显示sosurface选项卡。


这里可以改变不同的设置。
在 Isovalue 文本框里,输入0.1并按 TAB 键。
注意等位面如何改变。
向右移动Transparency滑块。
随着Transparency滑块向右移动,等位面变得越来越透明。
按住鼠标右键并移动鼠标,以旋转模型。
当模型旋转时,等位面变成点状显示,以增加旋转的速度。如果有速度很快的计算机,那么可以在Display Options对话框的Graphics选项卡上取消选择Fast render on move复选框来禁用这一特性。机器性能好也别随便花里胡哨

可以从 Display Style 对话框移除等值面。
取消选择 Visible 复选框,关闭 Display Style 对话框。
在任何时候都可以通过选择 Isosurface 选项卡上的 Visible 复选框来显示等值面。

5.2态密度和能带

打开 Analysis 对话框,选择 Band structure。
在DOS区域,选择Show DOS复选框,点击View按钮。


我自己用低精度边写教程边算了一下,名字也没有规范命名,大家主要是看文字
生成一个包括能带结构和态密度图的图表文件。

--END--

你 “在看” 我嘛  

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存